/**
 * @file debug_images.h
 * @brief 调试模式下的图像保存和标注功能
 * @version 1.0
 * @date 2023-05-20
 */

#ifndef DEBUG_IMAGES_H
#define DEBUG_IMAGES_H

#include <stdint.h>
#include "visual_monitor.h"
#include "stereo_monitor.h"
#include "uart_protocol.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @brief 保存调试图像
 * 
 * @param visual_data 视觉数据，可为NULL
 * @param stereo_data 立体视觉数据，可为NULL
 * @param sensor_data 传感器数据，可为NULL
 * @param save_dir 保存目录
 * @param timestamp 时间戳
 * @return 成功返回0，失败返回非0
 */
int save_debug_images(const VisualIceData *visual_data, 
                     const StereoData *stereo_data,
                     const SensorDataPacket *sensor_data,
                     const char *save_dir, 
                     uint64_t timestamp);

#ifdef __cplusplus
}
#endif

#endif /* DEBUG_IMAGES_H */ 